(function($){
	var setting;
	$.fn.keywordinput = function(opts){
		setting = $.extend({
			num : 5,
			msg : "请输入关键字，通过逗号或者回车确认",
			dbKeyword_id : "dbKeyword"
		}, opts||{});
		init(this);
		initDbKeyword();
	}
	function initDbKeyword(){
		$("#"+setting.dbKeyword_id + " span").each(function(){
			$("#keyword-wrap").append(generateKeyword($(this).html()));
		});
	}
	//TODO 传递this与不传递this时，在init里的this的区别
	function init(input){
		$(input).val(setting.msg)
		.addClass("keyword-input")
		.wrap("<div id='keyword-container'></div>")
		.before("<div id='keyword-wrap'></div>")
		.focus(function(){
			$(this).val("");
		})
		.blur(function(){
			$(this).val("请输入关键字，通过回车键确认").css("color", "#aaa");
		})
		.keyup(function(event){
			var code = event.keyCode;
			if(code==13){
				var word = $(this).val();
				if(word==""){
					return false;
				}
				//关键字数量限制在5个
				if($(".keyword-single").length>=setting.num){
					//$(this).val("最多只能添加5个关键字").css("color", "#f00");
					event.preventDefault();
					return false;
				}
				//检测关键字是否重复
				var pageKeywords = $("input[name='pageKeyword']");
				for(var i=0; i<pageKeywords.length; i++){
					if($(pageKeywords[i]).val()==word){
						event.preventDefault();
						return false;
					}
				}
				//添加关键字并清空input
				$("#keyword-wrap").append(generateKeyword(word));
				$(this).val("");
				event.preventDefault();
			}
		});
		$("#keyword-wrap").on("click", "a.keyword-delete", function(event){
			$(this).parent(".keyword-single").remove();
			event.preventDefault();
		});
	}
	
	function generateKeyword(_word){
		return "<div class='keyword-single'><span>" + _word + "</span><a href='#' class='keyword-delete'>×</a><input type='hidden'  value='" + _word + "'name='pageKeyword'/></div>"
	}
})(jQuery);